// 2-2 基本的输入输出-标准输入流（cin）
/**
 * C++ 基本的输入输出
 * C++ 标准库提供了一组丰富的输入/输出功能，我们将在后续的章节进行介绍。本章将讨论 C++ 编程中最基本和最常见的 I/O 操作。
 * 
 * C++ 的 I/O 发生在流中，流是字节序列。如果字节流是从设备（如键盘、磁盘驱动器、网络连接等）流向内存，这叫做输入操作。如果字节流是从内存流向设备（如显示屏、打印机、磁盘驱动器、网络连接等），这叫做输出操作。
 * 
 * I/O 库头文件
 * 下列的头文件在 C++ 编程中很重要。
 * 1. <iostream>
 * 该文件定义了 cin、cout、cerr 和 clog 对象，分别对应于标准输入流、标准输出流、非缓冲标准错误流和缓冲标准错误流。
 * 
 * 2. <iomanip>
 * 该文件通过所谓的参数化的流操纵器（比如 setw 和 setprecision），来声明对执行标准化 I/O 有用的服务。
 * 
 * 3. <fstream>
 * 该文件为用户控制的文件处理声明服务。我们将在文件和流的相关章节讨论它的细节。
 * 
 * ------------
 * 标准输入流（cin）
 * 预定义的对象 cin 是 iostream 类的一个实例。cin 对象附属到标准输入设备，通常是键盘。cin 是与流提取运算符 >> 结合使用的，如下所示(示例一)：
 * 
 * 当上面的代码被编译和执行时，它会提示用户输入名称。当用户输入一个值，并按回车键，就会看到下列结果：
 * 
 * C++ 编译器根据要输入值的数据类型，选择合适的流提取运算符来提取值，并把它存储在给定的变量中。
 * 
 * 流提取运算符 >> 在一个语句中可以多次使用，如果要求输入多个数据，可以使用如下语句：
      
    cin >> name >> age;

 * 这相当于下面两个语句：
    
    cin >> name;
    cin >> age;
 
 * 
*/

#include <iostream>

int main(void)
{
  /**
   * 示例一
  */
  char name[50];
  // std::cout << "请输入你的姓名:";
  // std::cin >> name;
  // std::cout << "您的姓名是: " << name << std::endl;

  int age;

  std::cout << "请输入你的信息:";
  std::cin >> name >> age;
  std::cout << "您的姓名是: " << name << "\n"
            << "您的年龄是: " << age << std::endl;

  printf("---------end----------\n");
  // system("pause");
  return 0;
}